package com.api.entity;


import com.api.log.FieldAnnotation;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.core.activerecord.Model;

import java.util.Date;


import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
* 应用版本管理 实体类。
*
* @author yangsf
* @since 2024-10-22
*/
@Accessors(chain = true)
@Data(staticConstructor = "create")
@EqualsAndHashCode(callSuper = true)
@Table("tb_app_version")
public class AppVersion extends Model<AppVersion> {

private static final long serialVersionUID = 1L;

    @Id(keyType = KeyType.Auto)
    @FieldAnnotation("id")
    private Integer id;

    /**
    * 操作系统
    */
    @FieldAnnotation("操作系统")
    private String osType;

    /**
    * 是否跳转至应用市场下载： 1.是 0.否
    */
    @FieldAnnotation("是否跳转至应用市场下载： 1.是 0.否")
    private Integer isAppStore;

    /**
    * 版本号
    */
    @FieldAnnotation("版本号")
    private String versionCode;

    /**
    * 是否强制更新(1是0否)
    */
    @FieldAnnotation("是否强制更新(1是0否)")
    private Integer isForced;

    /**
    * 版本描述信息
    */
    @FieldAnnotation("版本描述信息")
    private String versionDesc;

    /**
    * 更新地址
    */
    @FieldAnnotation("更新地址")
    private String downloadUrl;

    /**
    * 状态值： 1.正常 0.异常
    */
    @FieldAnnotation("状态值： 1.正常 0.异常")
    private Integer status;

    /**
    * 创建人
    */
    @FieldAnnotation("创建人")
    private Long createId;

    /**
    * 创建时间
    */
    @Column(onInsertValue = "now()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @FieldAnnotation("创建时间")
    private Date createTime;

    /**
    * 更新人
    */
    @FieldAnnotation("更新人")
    private Long updateId;

    /**
    * 更新时间
    */
    @Column(onInsertValue = "now()", onUpdateValue = "now()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @FieldAnnotation("更新时间")
    private Date updateTime;

}
